package simpleGeom;

import java.util.ArrayList;
import java.util.Collections;

public class MapperList extends Mapper{


ArrayList<Float>values=new ArrayList<Float>();

public MapperList(){
	super();
}
public MapperList(float min,float max){
	this.min=min;
	this.max=max;
}
public float getPercentage(float v){
	v=getCrop(v);
	return super.getPercentage(v);
}
private float getCrop(float v){
	if (v<min)v=min;
	if (v>max)v=max;
	return v;
}

float getLogarithmic(float v){
	return 0;
}

public void sort(){
	Collections.sort(values);
}

public void cropPercentage(float start, float end){
	int i1=(int)(start*values.size());
	int i2=(int)(end*values.size());
	min=values.get(i1);
	max=values.get(i2);
}

public void addValue(float v){
	if (v<min)min=v;
	if (v>max)max=v;
	values.add(v);
}
public int[] getHistoGramm(int n){
	int[] histogramm=new int[n];
	float dX=(max-min)/n;
	for (int i=0;i<values.size();i++){
		float v=values.get(i);
		int index=(int)(n*v/(max-min));
		histogramm[index]++;
	}
	return histogramm;
}
}
